Security News
The Risks of Misguided Research in Supply Chain Security
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
postcss-reduce-initial
Advanced tools
Reduce initial definitions to the actual initial value, where possible.
The postcss-reduce-initial npm package is a PostCSS plugin that optimizes CSS by replacing properties set to their initial values with the 'initial' keyword, thus reducing the size of the CSS file. It can be particularly useful for minimizing the output of CSS preprocessors that tend to output properties with their initial values.
Replace properties with 'initial'
This feature takes CSS properties that are set to their initial values and replaces them with the 'initial' keyword. For example, 'min-width: auto;' would be replaced with 'min-width: initial;', and 'transition-duration: 0s;' would be replaced with 'transition-duration: initial;'.
".element {\n min-width: auto;\n transition-duration: 0s;\n}"
cssnano is a modular minifier for CSS that includes various optimizations, including reducing initial values to the 'initial' keyword, similar to postcss-reduce-initial. However, cssnano offers a broader range of optimizations such as merging rules, minifying font values, discarding comments, and more.
postcss-normalize-whitespace is a PostCSS plugin that normalizes whitespace by removing it where possible in CSS files. While it doesn't specifically target initial values, it contributes to the overall reduction of CSS file size, which is a similar goal to postcss-reduce-initial.
postcss-merge-longhand is a plugin that merges multiple CSS properties into shorthand properties, which can reduce the size of CSS files. This is different from postcss-reduce-initial's approach of replacing properties with the 'initial' keyword but achieves a similar end of optimizing CSS output.
Reduce
initial
definitions to the actual initial value, where possible.
With npm do:
npm install postcss-reduce-initial --save
This module will replace the initial
CSS keyword with the actual value,
when this value is smaller than the initial
definition itself. For example,
the initial value for the min-width
property is 0
; therefore, these two
definitions are equivalent;
h1 {
min-width: initial;
}
h1 {
min-width: 0;
}
See the data for more conversions. This data is courtesy of Mozilla.
See the PostCSS documentation for examples for your environment.
Thanks goes to these wonderful people (emoji key):
Ben Briggs 💻 📖 👀 ⚠️ | Chris Walker 🐛 💻 |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!
Template:CSSData by Mozilla Contributors is licensed under CC-BY-SA 2.5.
MIT © Ben Briggs
FAQs
Reduce initial definitions to the actual initial value, where possible.
The npm package postcss-reduce-initial receives a total of 8,583,705 weekly downloads. As such, postcss-reduce-initial popularity was classified as popular.
We found that postcss-reduce-initial demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.